home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 49 / Amiga Format CD49 (2000-01-17)(Future Publishing)(GB)(Track 1 of 3)[!][issue 2000-02].iso / -serious- / misc / football / exec / updatecupteamname.rexx < prev    next >
OS/2 REXX Batch file  |  1999-11-29  |  9KB  |  393 lines

  1. /* ***********************************************************************
  2.  
  3.   UPDATE CUP TEAM NAME PROGRAM FOR FOOTBALL REXX SUITE
  4.   ----------------------------------------------------
  5.                    Copyright  Mark Naughton 1999
  6.  
  7.  
  8. Version    Date     History
  9. --------------------------------------------------------------------------
  10.  
  11.  1.0       050999   Created.
  12.  
  13. **************************************************************************
  14.  
  15. Procedure
  16. ---------
  17.  
  18. 1. Check files exist.
  19. 2. Read datafiles in one at a time into an array.
  20. 3. Search array for occurrences of 'team_srch' and when found overwrite
  21.    the old name with the new one.
  22. 4. If marker set, write data back to file.
  23. 5. Exit.
  24.  
  25. ************************************************************************** */
  26. PARSE ARG league_stuff
  27.  
  28. version      = 1
  29. input_file   = '.cf'
  30. input2_file  = '.scf'
  31. input3_file  = '.scflearn'
  32. input4_file  = '.cfh'
  33. input5_file  = '.cfrw'
  34. sdlines.     = '???'
  35. separator    = '*'
  36. file1        = 0
  37. file2        = 0
  38. file3        = 0
  39. file4        = 0
  40. file5        = 0
  41.  
  42. parse var league_stuff league_file "*" team_srch "*" team_repl
  43. league_file = "Data/"strip(league_file)
  44.  
  45. if open(datafile,"Data/Football.locale",'r') then do
  46.    line = readln(datafile)
  47.    locdir = strip(line)
  48.    close(datafile)
  49. end
  50. else do
  51.    say
  52.    say "ERROR :    (UpdateCupTeamName)"
  53.    say
  54.    say "Cannot read 'Data/Football.locale' for the locale settings."
  55.    exit
  56. end
  57.  
  58. locdir = locdir"Exec/UpdateCupTeamName.data"
  59.  
  60. if open(datafile,"ENV:FootballRXPath",'r') then do
  61.    line = readln(datafile)
  62.    rxdir = strip(line)
  63.    close(datafile)
  64. end
  65. else
  66.    rxdir = "SYS:Rexxc/"
  67.  
  68. if exists(locdir) > 0 then do
  69.   address command rxdir'rx 'locdir
  70.   VarCount = getclip('VarCount')
  71.   do i = 1 to VarCount
  72.     interpret getclip('var.'i)
  73.   end
  74. end
  75. else do
  76.    say
  77.    say "ERROR :    (UpdateCupTeamName)"
  78.    say
  79.    say "Cannot find '"locdir"' to read locale settings."
  80.    exit
  81. end
  82.  
  83. team_srch = strip(team_srch)
  84. team_repl = strip(team_repl)
  85.  
  86. if exists(league_file || input_file) = 0  then do
  87.    say
  88.    say uctn_error
  89.    say
  90.    say uctn_one"'"league_file||input_file"'."
  91.    exit
  92. end
  93. if exists(league_file || input2_file) = 0 then do
  94.    say
  95.    say uctn_error
  96.    say
  97.    say uctn_one"'"league_file||input2_file"'."
  98.    exit
  99. end
  100.                     /* New datafile will be supported soon */
  101. /*
  102. if exists(league_file || input3_file) = 0 then do
  103.    say
  104.    say uctn_error
  105.    say
  106.    say uctn_one"'"league_file||input3_file"'."
  107.    exit
  108. end
  109. */          /* Not everyone has a history.....*/
  110. /*
  111. if exists(league_file || input4_file) = 0 then do
  112.    say
  113.    say uctn_error
  114.    say
  115.    say uctn_one"'"league_file||input4_file"'."
  116.    exit
  117. end
  118. */
  119. if exists(league_file || input5_file) = 0 then do
  120.    say
  121.    say uctn_error
  122.    say
  123.    say uctn_one"'"league_file||input5_file"'."
  124.    exit
  125. end
  126.  
  127.  
  128. /* Read, Change and Write Back .cf file */
  129.  
  130. sdcount = 0
  131. if open(datafile,league_file || input_file,'r') then do
  132.    do while ~eof(datafile)
  133.       line = readln(datafile)
  134.       line = strip(line)
  135.       sdcount         = sdcount + 1
  136.       sdlines.sdcount = line
  137.    end
  138.    close(datafile)
  139. end
  140. else do
  141.    say
  142.    say uctn_error
  143.    say
  144.    say uctn_two"'"league_file||input_file"'"uctn_three
  145.    exit
  146. end
  147.  
  148. mkt = 0
  149. do i=1 to sdcount
  150.    if pos(separator,sdlines.i) = 0 then do
  151.       if team_srch == strip(sdlines.i) then do
  152.          sdlines.i = team_repl
  153.          mkt = 1
  154.          leave
  155.       end
  156.    end
  157. end
  158.  
  159. if mkt = 1 then do
  160.    if open(datafile3,league_file || input_file,'w') then do
  161.       do j=1 to sdcount
  162.          if sdlines.j~="" then writeln(datafile3,sdlines.j)
  163.       end
  164.       close(datafile3)
  165.    end
  166.    else do
  167.       say
  168.       say uctn_error
  169.       say
  170.       say uctn_two"'"league_file || input_file"'"uctn_four
  171.       exit
  172.    end
  173.    file1 = 1
  174. end
  175.  
  176. /* Read, Change and Write Back .scf file */
  177.  
  178. sdcount = 0
  179. if open(datafile,league_file||input2_file,'r') then do
  180.    do while ~eof(datafile)
  181.       line = readln(datafile)
  182.       line = strip(line)
  183.       sdcount         = sdcount + 1
  184.       sdlines.sdcount = line
  185.    end
  186.    close(datafile)
  187. end
  188. else do
  189.    say
  190.    say uctn_error
  191.    say
  192.    say uctn_two"'"league_file||input2_file"'"uctn_three
  193.    exit
  194. end
  195.  
  196.  
  197. mkt = 0
  198. do i=1 to sdcount
  199.    if pos(separator,sdlines.i) = 0 then do
  200.       if pos(team_srch,sdlines.i) > 0 then do
  201.          t1 = strip(substr(sdlines.i,1,30))
  202.          t2 = strip(substr(sdlines.i,41,30))
  203.          if t1 == team_srch then sdlines.i = overlay(left(team_repl,30," "),sdlines.i,1,30)
  204.          if t2 == team_srch then sdlines.i = overlay(left(team_repl,30," "),sdlines.i,41,30)
  205.          mkt = 1
  206.       end
  207.    end
  208. end
  209.  
  210. if mkt = 1 then do
  211.    if open(datafile3,league_file || input2_file,'w') then do
  212.       do j=1 to sdcount
  213.          if sdlines.j~="" then writeln(datafile3,sdlines.j)
  214.       end
  215.       close(datafile3)
  216.    end
  217.    else do
  218.       say
  219.       say uctn_error
  220.       say
  221.       say uctn_two"'"league_file || input2_file"'"uctn_four
  222.       exit
  223.    end
  224.    file2 = 1
  225. end
  226.  
  227. /* Read, Change and Write Back .scflearn file */
  228.  
  229. if exists(league_file || input3_file) > 0  then do
  230.    sdcount = 0
  231.    if open(datafile,league_file||input3_file,'r') then do
  232.       do while ~eof(datafile)
  233.          line = readln(datafile)
  234.          line = strip(line)
  235.          sdcount         = sdcount + 1
  236.          sdlines.sdcount = line
  237.       end
  238.       close(datafile)
  239.    end
  240.    else do
  241.       say
  242.       say uctn_error
  243.       say
  244.       say uctn_two"'"league_file||input3_file"'"uctn_three
  245.       exit
  246.    end
  247.  
  248.    mkt = 0
  249.    do i=1 to sdcount
  250.       if pos(separator,sdlines.i) = 0 then do
  251.          if pos(team_srch,sdlines.i) > 0 then do
  252.             t1 = strip(substr(sdlines.i,1,30))
  253.             t2 = strip(substr(sdlines.i,41,30))
  254.             if t1 == team_srch then sdlines.i = overlay(left(team_repl,30," "),sdlines.i,1,30)
  255.             if t2 == team_srch then sdlines.i = overlay(left(team_repl,30," "),sdlines.i,41,30)
  256.             mkt = 1
  257.          end
  258.       end
  259.    end
  260.  
  261.    if mkt = 1 then do
  262.       if open(datafile3,league_file || input3_file,'w') then do
  263.          do j=1 to sdcount
  264.             if sdlines.j~="" then writeln(datafile3,sdlines.j)
  265.          end
  266.          close(datafile3)
  267.       end
  268.       else do
  269.          say
  270.          say uctn_error
  271.          say
  272.          say uctn_two"'"league_file || input3_file"'"uctn_four
  273.          exit
  274.       end
  275.       file3 = 1
  276.    end
  277. end
  278.  
  279. /* Read, Change and Write Back .cfh file */
  280.  
  281. if exists(league_file || input4_file) > 0  then do
  282.    sdcount = 0
  283.    if open(datafile,league_file||input4_file,'r') then do
  284.       do while ~eof(datafile)
  285.          line = readln(datafile)
  286.          line = strip(line)
  287.          sdcount         = sdcount + 1
  288.          sdlines.sdcount = line
  289.       end
  290.       close(datafile)
  291.    end
  292.    else do
  293.       say
  294.       say uctn_error
  295.       say
  296.       say uctn_two"'"league_file||input4_file"'"uctn_five
  297.       exit
  298.    end
  299.  
  300.    mkt = 0
  301.    do i=1 to sdcount
  302.       if pos(team_srch,sdlines.i) > 0 then do
  303.          mk = pos(team_srch,sdlines.i)
  304.          if substr(sdlines.i,mk) == team_srch then do
  305.             sdlines.i = delstr(sdlines.i,mk)""team_repl
  306.             mkt = 1
  307.          end
  308.       end
  309.    end
  310.  
  311.    if mkt = 1 then do
  312.       if open(datafile3,league_file || input4_file,'w') then do
  313.          do j=1 to sdcount
  314.             if sdlines.j~="" then writeln(datafile3,sdlines.j)
  315.          end
  316.          close(datafile3)
  317.       end
  318.       else do
  319.          say
  320.          say uctn_error
  321.          say
  322.          say uctn_two"'"league_file || input4_file"'"uctn_four
  323.          exit
  324.       end
  325.       file4 = 1
  326.    end
  327. end
  328.  
  329. /* Read, Change and Write Back .cfrw file */
  330.  
  331. sdcount = 0
  332. if open(datafile,league_file||input5_file,'r') then do
  333.    do while ~eof(datafile)
  334.       line = readln(datafile)
  335.       line = strip(line)
  336.       sdcount         = sdcount + 1
  337.       sdlines.sdcount = line
  338.    end
  339.    close(datafile)
  340. end
  341. else do
  342.    say
  343.    say uctn_error
  344.    say
  345.    say uctn_two"'"league_file||input5_file"'"uctn_five
  346.    exit
  347. end
  348.  
  349. mkt = 0
  350. do i=1 to sdcount
  351.    if pos(team_srch,sdlines.i) > 0 then do
  352.       mk = pos(team_srch,sdlines.i)
  353.       if substr(sdlines.i,mk) == team_srch then do
  354.          sdlines.i = delstr(sdlines.i,mk)""team_repl
  355.          mkt = 1
  356.          leave
  357.       end
  358.    end
  359. end
  360.  
  361. if mkt = 1 then do
  362.    if open(datafile3,league_file || input5_file,'w') then do
  363.       do j=1 to sdcount
  364.          if sdlines.j~="" then writeln(datafile3,sdlines.j)
  365.       end
  366.       close(datafile3)
  367.    end
  368.    else do
  369.       say
  370.       say uctn_error
  371.       say
  372.       say uctn_two"'"league_file || input4_file"'"uctn_four
  373.       exit
  374.    end
  375.    file5 = 1
  376. end
  377.  
  378. say
  379. say center(uctn_t1,78)
  380. say "-----------------------------------------------------------------------------------------"
  381. say
  382. say uctn_t2" '"team_srch"' "uctn_t3" '"team_repl"'."
  383. say
  384. say uctn_t4
  385. say
  386. if file1 = 1 then say "     '"league_file||input_file"'"
  387. if file2 = 1 then say "     '"league_file||input2_file"'"
  388. if file3 = 1 then say "     '"league_file||input3_file"'"
  389. if file4 = 1 then say "     '"league_file||input4_file"'"
  390. if file5 = 1 then say "     '"league_file||input5_file"'"
  391. say
  392.  
  393. exit